# -*- coding: utf-8 -*-

import subprocess
import sys
import os
from servers import Logger

""" Para la correcta ejecución de este script es necesario tener 
instalado:
- apache2
- vsftpd
- xinetd
- telnetd
"""


logger = Logger()

def configurarApache():
	""" Borra el contenido de la carpeta /var/www/. Agrega las carpetas
	correspondientes a los dominios, y un archivo de index"""
	subprocess.call("rm -rf /var/www/*", shell = True)
	subprocess.call("cp -r http/dom1/ /var/www/", shell = True)
	subprocess.call("cp -r http/dom2/ /var/www/", shell = True)
	subprocess.call("cp http/index.html /var/www/", shell = True)
	logger.log("Se completó la configuración del servidor web")


def configurarVsftpd():
	""" Borra el contenido de la carpeta /srv/ftp/. Agrega los archivos
	para que pueden ser descargados del servidor ftp"""
	subprocess.call("rm -rf /srv/ftp/*", shell = True)
	subprocess.call("cp -r ftp/* /srv/ftp/", shell = True)
	subprocess.call("cp -f vsftpd.conf /etc/", shell = True)
	subprocess.call("cp -f vsftpd.chroot_list /etc/", shell = True)
	logger.log("Se completó la configuración del servidor ftp")


def configurarTelnet():
	""" Agrega el archivo de configuración para poder iniciar el 
	servicio"""
	subprocess.call("cp -f telnet/telnet /etc/xinetd.d/", shell = True)
	logger.log("Se completó la configuración del servidor telnet")


def matarProcesos():
	subprocess.call("service apache2 stop", shell = True)
	subprocess.call("service vsftpd stop", shell = True)
	subprocess.call("service xinetd stop", shell = True)
	logger.log("Se matar los procesos, por si estaban corriendo")


def main():
	if os.getuid() != 0:	# Es el superuser <=> UID = 0
		print "Debe ejecutarse como root"
		return 2
	matarProcesos()
	configurarApache()
	configurarVsftpd()
	configurarTelnet()


if __name__ == "__main__":
	main()
